package com.qijian.production.domain.query;

import java.math.BigDecimal;

import com.qijian.common.utils.mybatis.WhereType;
import com.qijian.common.utils.mybatis.WhereTypeEnum;
import lombok.Data;

import java.util.Date;
import java.util.Set;
import lombok.ToString;
import com.baomidou.mybatisplus.annotation.TableName;


/**
 * 生产计划单工序对象 查询条件类
 *
 * @author zhangcheng
 * @date 2025-03-25
 */

@Data
@ToString
@TableName("sc_work_order_detail")
public class ScWorkOrderDetailQuery {

    @WhereType(filed = "id")
    private Long id;
    @WhereType(filed = "id", type = WhereTypeEnum.IN)
    private Set<Long> ids;
    @WhereType(filed = "work_order_id")
    private Long workOrderId;
    @WhereType(filed = "process_id")
    private Long processId;
    @WhereType(filed = "process_name", type = WhereTypeEnum.LIKE)
    private String processName;
    @WhereType(filed = "process_name", type = WhereTypeEnum.EQ)
    private String processNameEq;
    @WhereType(filed = "sort")
    private Long sort;
    @WhereType(filed = "process_code")
    private String processCode;
    @WhereType(filed = "proportion")
    private BigDecimal proportion;
    @WhereType(filed = "line_process_id")
    private Long lineProcessId;
    @WhereType(filed = "qty")
    private BigDecimal qty;
    @WhereType(filed = "produced_qty")
    private BigDecimal producedQty;
    @WhereType(filed = "order_no")
    private String orderNoEq;
    @WhereType(tableName = "sc_work_order",filed = "plan_start_date",type = WhereTypeEnum.BETWEEN)
    private Date[] planStartDate;
    @WhereType(filed = "sc_work_order.plan_start_date", func = "DATE_FORMAT(sc_work_order.plan_start_date,'%Y-%m-%d') = DATE_FORMAT(CURDATE(),'%Y-%m-%d')")
    private Boolean isToday;
    @WhereType(tableName = "main_item", filed = "item_name", type = WhereTypeEnum.LIKE)
    private String itemName;
    @WhereType(tableName = "main_item", filed = "item_code", type = WhereTypeEnum.LIKE)
    private String itemCode;
    @WhereType(filed = "detail_no", type = WhereTypeEnum.LIKE)
    private String detailNo;



}
